package cn.al2.util.demo;

import cn.al2.util.GenerateUtil;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;

public class BufferedOutputStreamDemo {

    // 阻塞式I/O，效率较低，不适合大量数据的写入
    public static void main(String[] args) {
        // 文件路径
        String filePath = "FileOutputStreamDemo.txt";

        try (
                // 创建FileOutputStream实例，如果文件不存在则会创建新文件
                FileOutputStream fos = new FileOutputStream(filePath);
                BufferedOutputStream bos = new BufferedOutputStream(fos);
        ) {


            long start = System.currentTimeMillis();


            for (String logStr : GenerateUtil.getInstance().staticProduct()) {
                // 将字符串转换为字节数组
                byte[] bytes = logStr.getBytes();

                // 写入字节数组到文件
                bos.write(bytes);
            }

            long end = System.currentTimeMillis();

            System.out.println("BOS文件写入成功 耗时：" + (end - start));
        } catch (IOException e) {
            // 处理异常
            e.printStackTrace();
        }
    }
}
